import axios from "axios";
import { refreshToken } from "../api/user";
import { message } from "ant-design-vue";
import router from "../router/system";
// import { useStore } from "vuex"

export function request(config) {
  const instance = axios.create({
    baseURL: "http://127.0.0.1:8000/api/",
    timeout: 10000,
  });
  // 请求拦截
  instance.interceptors.request.use(
    function (config) {
      // 在发送请求之前做些什么
      config.headers.Authorization = 'Bearer ' + localStorage.getItem('userToken')
      return config;
    },
    function (error) {
      // 对请求错误做些什么
      console.log(error)
      return Promise.reject(error);
    }
  );

  // 响应拦截
  instance.interceptors.response.use(
    function (response) {
      // 对响应数据做点什么
      return response;
    },
    (error) => {
      if (error.response.status === 401) {
        // const store = useStore()
        message.error('请重新登录')
        router.push({ name: 'login' })
      }
      对响应错误做点什么
      return Promise.reject(error);
    }
  );
  return instance(config)
}
